import { app, ipcMain, BrowserWindow } from 'electron'

// 初始化窗口事件
export function initWinEvent(win: BrowserWindow) {

    if (!win) {
        console.log("window is null");
        return;
    }

    ipcMain.on('devtools', () => {
        if (!win.webContents.isDevToolsOpened()) {
            win.webContents.openDevTools()
            // window.webContents.session.loadExtension(extensions)
            //   .catch((e) => {
            //     console.error('Cannot find the vue extension. Please run "npm run postinstall" to install extension, or remove it and try again!')
            //   })
        } else {
            win.webContents.closeDevTools()
        }
    })

    // 重新加载窗口
    ipcMain.on('reload', () => {
        win.reload()
    })

    // 最小化窗口
    ipcMain.on('minimize', () => {
        win.minimize()
    })
    // 最大化窗口
    ipcMain.on('maximize', () => {
        // 判断是否已经是最大化了
        if (win.isMaximized()) {
            // 重置窗口大小
            win.restore()
        } else {
            // 最大化窗口
            win.maximize()
        }
    })
    // 全屏
    ipcMain.on('fullscreen', () => {
        if (win.isFullScreen()) {
            // 设置为非全屏
            win.setFullScreen(false)
            // win.restore()
        } else {
            // 设置为全屏
            win.setFullScreen(true)
        }
    })
    // 是否允许缩放窗口
    ipcMain.on('setResizable', (e, resizable) => {
        win.setResizable(resizable)
    })
    // 把窗口设置为在最前端显示
    ipcMain.on('setAlwaysOnTop', (e, top) => {
        win.setAlwaysOnTop(top)
    })
    // 设置窗口是否为全屏
    ipcMain.on('setFullScreen', (e, isFullScreen) => {
        win.setFullScreen(isFullScreen)
    })
    // 关闭窗口
    ipcMain.on('close', () => {
        app.quit()
    })
}